package com.yp.easyExcel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import lombok.extern.slf4j.Slf4j;


// 有个很重要的点 TableListener 不能被spring管理，要每次读取excel都要new,然后里面用到spring可以构造方法传进去
@Slf4j// Lombok 注解，自动生成日志对象 log，用于打印日志
public class TableListener implements ReadListener<XingQiuTableUserInfo> {
//实现 ReadListener<XingQiuTableUserInfo> 接口，泛型 XingQiuTableUserInfo 表示 Excel 每行数据要映射的 Java 实体类（即每行数据会被解析为该类的对象）。

    /**
     * Excel 中每解析完一行数据，就会调用一次该方法。
     *
     * @param data    当前行解析后的 Java 对象（XingQiuTableUserInfo 类型，包含了该行的所有数据）
     * @param context 解析上下文，包含 Excel 读取的相关配置信息（如当前行数、工作表信息等）。
     */
    @Override
    public void invoke(XingQiuTableUserInfo data, AnalysisContext context) {
        System.out.println(data);
    }

    /**
     * 所有数据解析完成了 都会来调用
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        System.out.println("已解析完成");
    }

}